设int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int(* ptr)[3]=a,*p=...答:个人觉得是选A,应为p是指向一维数组的 所以*(p+5)是指向a[1][2]的 而b形式是错的 d也有 可能我好像没见过 标准的形式是*(*(ptr+1)+2)反正不是a就是d 呵呵 实在抱歉 我回去看一下 明天给你一个答案
设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a有多少行?答:int a[][4]的写法表示第一维大小没有限制,但是第二维数组大小是4。也就是说,数组a的每一行都有4个元素。因此,你可以根据初始化的元素个数来确定数组a有多少行。在你的例子中,int a[][4]={1,2,3,4,5,6,7,8,9};有9个元素,所以数组a有9/4=2.25行。但是由于C语言不允许有不...
int a[ ][3]={{0},{1},{2}};a[1][2]的值答:0int类型默认为0,该初始化相当于int a[][3] = {{0,0,0},{1,0,0},{2,0,0}} 或 int a[ ][3]={{0},{1},{2}};第二维参数为3,但赋值的时候三个都是只有一个整数,另外两个默认填充0 等同于int a[3][3]={{0,0,0},{1,0,0},{2,0,0}};所以a[1][2] = 0;...
二维数组的定义int a【】【3】;为什么不正确?答:int a[][3];这样写必须初始化,即要写成int a[][3]={1,2,3,4,5,6,...};或int a[][3]={{1,2,3},{4,5,6},...};,这样编译时编译器就可以算出来空的[]中应该填几了。[]中只是“允许不写”,并不是允许空着。